package com.payment.notify.receive.utils;

import java.util.HashMap;
import java.util.Map;

import org.springside.modules.utils.mapper.JsonMapper;

import com.payment.common.dto.notify.NotifyDto;
import com.payment.notify.receive.service.handler.NotifyReceiveHandler;

/**
 * 类名：MessageReqUtil.java<br>
 * 描述：<br>
 * 创建者：XINJF<br>
 * 创建日期：2017年11月30日 下午2:47:13<br>
 * 版本：1.0<br>
 * 修改者：<br>
 * 修改日期：<br>
 */
public class MessageReqUtil {
	
	/**
	 * 缓存处理请求handler
	 */
	private static Map<String,NotifyReceiveHandler> MAPPING_HANDLER = new HashMap<String, NotifyReceiveHandler>();
	
	
	/**
	 * 通过名称获取对象
	 * @param className
	 * @return
	 */
	public static Object getObjectByClassName(String className){
		Class<?> obj = null;
		try {
			obj = Class.forName(className);
			return  obj.newInstance();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		}
		return obj;
	}
	
	/**
	 * 功能描述：将实体参数转成Map<br>
	 * 创建者：XINJF<br>
	 * 创建日期：2018年3月12日 上午11:35:09<br>
	 * 版本：1.0<br>
	 * 修改者：<br>
	 * 修改日期：<br>
	 */
	@SuppressWarnings("unchecked")
	public static Map<String,Object> getReqParam(NotifyDto parameter){
		Map<String,Object> params = null;
		try {
			String json = JsonMapper.INSTANCE.toJson(parameter);
			System.out.println("json=="+json);
			params = JsonMapper.INSTANCE.fromJson(json, Map.class); //将参数转成Map
		}catch(Exception e){
			e.printStackTrace();
		}
		return params;
	}
	
}
